package com.cn.wanxi.servlet;

import com.cn.wanxi.model.CompanyModel;
import com.cn.wanxi.model.NavModel;
import com.cn.wanxi.model.NewsModel;
import com.cn.wanxi.service.CompanyService;
import com.cn.wanxi.service.NavService;
import com.cn.wanxi.service.NewsService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@WebServlet("/home")//这里就是提供给前端的地址
public class HomeServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {


//        页面转发和重定向的区别？
        /**
         * jsp 九大内置对象?
         * servlet  四大作用域?
         * page  只在当前页面有效
         * request 只在转发页面有效
         * session 只在会话期有效
         * application 在整个项目有效
         * req
         * resq
         */
        String logo = "../img/logo_g0yv.jpg";
        //第一个参数叫做key，用于前端根据key值找到value
        // 第二个叫做value  传递到前端的值
//        req.setAttribute("logo", logo);
//        req.setAttribute("phone", phone);
//      数据来源与服务逻辑层的封装

//        将数据存放在容器里面？四大作用域
//        数组？数据怎么定义？数据的取值赋值？数组的元素可以是什么？
//        Java数组：同一种类型数据的集合。其实数组就是一个容器
//        数组定义有两种：动态定义：静态定义
//        1.动态 元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
//         示例：int[] arr = new int[5];
//        2.静态 元素类型[] 数组名 = new 元素类型[]{元素，元素，……};
//          int[] arr = new int[]{3,5,1,7};
//          int[] arr = {3,5,1,7};
//        CompanyService companyService = new CompanyService();
//        req.setAttribute("companyModel", companyService.getCompapnyModel());
//        -----------------------------------------------------
//        导航信息
//        NavService navService = new NavService();
//        NavModel[] navModels = navService.getNavModels();
//        req.setAttribute("navModels", navModels);
        CommonServlet.setCompanyModelAndNewsModels(req);
//        --------------------------------
        NewsService newsService = new NewsService();
//        NewsModel[] newsModels=newsService.getNewsModels();
        req.setAttribute("newsModels", newsService.getNewsModels());
//        页面转发 ,将后台数据转发到前端页面
        req.getRequestDispatcher("/jsp/home.jsp").forward(req, resp);
//        重定向
//        resp.sendRedirect("/jsp/home.jsp");
    }
}
